diff --git a/extras/conf/udb/Includes/SRB222_things.cfg b/extras/conf/udb/Includes/SRB222_things.cfg index 8ae317d89deca483a81a362bb175cb4b40f49a49..cf6b8a875a3aac75cdd3fe5fd53f2b9c94ea7d90 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 a4607b49774b523df7e237fbf3622ae64d6f8178..64b21809f8b367573c358ff834afdc1b692199ae 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 fc47c457326ef149ff1a64f503a6a69cd93beef1..ee29d6e1076a2508dc2d971c1a37a772122f326c 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;