diff --git a/extras/conf/udb/Includes/SRB222_things.cfg b/extras/conf/udb/Includes/SRB222_things.cfg index 8ae317d89..cf6b8a875 100644 --- a/extras/conf/udb/Includes/SRB222_things.cfg +++ b/extras/conf/udb/Includes/SRB222_things.cfg @@ -3596,6 +3596,10 @@ udmf sprite = "FISHA0"; width = 8; height = 28; + arg0 + { + title = "Jump strength"; + } } 103 { @@ -6468,6 +6472,10 @@ udmf sprite = "PUMAA0"; width = 8; height = 16; + arg0 + { + title = "Jump strength"; + } } 1806 { diff --git a/src/p_enemy.c b/src/p_enemy.c index a4607b497..64b21809f 100644 --- a/src/p_enemy.c +++ b/src/p_enemy.c @@ -4803,12 +4803,16 @@ void A_FishJump(mobj_t *actor) fixed_t jumpval; if (locvar1) - jumpval = var1; + jumpval = locvar1; else - jumpval = FixedMul(AngleFixed(actor->angle)/4, actor->scale); + { + if (actor->spawnpoint && actor->spawnpoint->args[0]) + jumpval = actor->spawnpoint->args[0]; + else + jumpval = 44; + } - if (!jumpval) jumpval = FixedMul(44*(FRACUNIT/4), actor->scale); - actor->momz = jumpval; + actor->momz = FixedMul(jumpval << (FRACBITS - 2), actor->scale); P_SetMobjStateNF(actor, actor->info->seestate); } diff --git a/src/p_setup.c b/src/p_setup.c index fc47c4573..ee29d6e10 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -4879,6 +4879,10 @@ static void P_ConvertBinaryMap(void) switch (mapthings[i].type) { + case 102: //SDURF + case 1805: //Puma + mapthings[i].args[0] = mapthings[i].angle; + break; case 110: //THZ Turret mapthings[i].args[0] = LE_TURRET; break;