+void W_Electro_Orb_Follow_Think(entity this)
+{
+ if (time > this.death_time)
+ {
+ adaptor_think2use_hittype_splash(this);
+ return;
+ }
+ if (this.move_movetype == MOVETYPE_FOLLOW)
+ {
+ int lost = LostMovetypeFollow(this);
+ if (lost == 2)
+ {
+ // FIXME if player disconnected, it isn't possible to drop the orb at player's origin
+ // see comment in LostMovetypeFollow implementation
+ delete(this);
+ return;
+ }
+ if (lost)
+ {
+ // drop the orb at the corpse's location
+ PROJECTILE_MAKETRIGGER(this);
+ set_movetype(this, MOVETYPE_TOSS);
+
+ setthink(this, adaptor_think2use_hittype_splash);
+ this.nextthink = this.death_time;
+ return;
+ }
+ }
+ this.nextthink = time;
+}
+