bonusShield is dead! Long live flankingBonus!
Moderator: Moderators
-
- Posts: 32
- Joined: 16 Aug 2006, 19:25
Defaulting it to 0 would still affect the balance of mods.. For example brawlers would make less damage without it (if I understand it correctly) while "normal" tanks wouldn't.. The modders may not have known why brawlers made more damage but they adjusted their damage to fit the rest of the units..
No, it doesn't. It's based on how long the units have been unattacked.Dragon45 wrote:Does the angle 'swung' around depend on the damage dealt? judging from a quick scan of the code snippet it does...
Edit: Oops, I saw it wrong. Attacking your own units will end up slowing it down by breaking up the updates, and it's not set to a small value where I thought it was (dodamage). It's set to that value in update.
I'm working on a patch that adds tags to this and adds full flanking zones. Do you think that in addition to the flanking zones there should be two bonusshields, one locked to the unit, and one like this, or would a tag to set how much it can move, settable to 0, be enough?Argh wrote:It'd make a lot more sense if the relative difference between the vector and Dir was taken into account, frankly. And we need to be able to adjust this in the FBIs. Then we get true flanking effects, not psuedo flanking.
Last edited by lurker on 08 Jul 2007, 11:44, edited 1 time in total.
I would vote that the second option is good enough, so long as it allows us to set the values for the flanks (default should be the previous values, so that most existing game designs aren't affected much). For smaller models, it simply doesn't make much sense to make flanking do a lot more damage, whereas on larger targets where armor values may not be the same on all facings, it could become a major part of the game designs. Control over this, and having it obey true Dir, is a must, imo.
BTW, I must say good job, for finding this code! I wasn't aware of how this worked, and I haven't looked at that code in months. This could be very, very useful stuff!
BTW, I must say good job, for finding this code! I wasn't aware of how this worked, and I haven't looked at that code in months. This could be very, very useful stuff!
Everything I know is wrong!
Apparently it's not relative to the unit at all. If you attack the shield side of the unit when it's facing right, it does normal damage, and if the unit turns around, and you attack the same side, now it does double damage.
Anyway, it will be relative to the unit now with this patch.
I'm still working out the armorzones, but here is the patch of everything I have finished so far. It enables negative damage to units, enables edgeeffectiveness greater than 1, and adds the following tags:
bonusShieldMode; //0=no bonus shield; 1=global coords, mobile; 2=unit coords, mobile (calculation heavy); 3=unit coords, locked;
bonusShieldDir; //units takes less damage when attacked from this dir (encourage flanking fire)
bonusShieldSavedAdd; //how much bonusShieldSaved builds up each frame
bonusShieldMaxDamage; //maximum factor to multiply damage by
bonusShieldMinDamage; //minimum factor to multiply damage by
And they can be GET/SET by cob.
#define BONUS_SHIELD_MODE 95 // set or get
#define BONUS_SHIELD_DIR 96 // set or get through get, for multiple args
#define BONUS_SHIELD_SAVED_ADD 97 // set or get
#define BONUS_SHIELD_MAX_DAMAGE 98 // set or get
#define BONUS_SHIELD_MIN_DAMAGE 99 // set or get
Older version:
http://pastebin.ca/609328
For now, it defaults to the old behavior, but this can easily be changed in weapondefhandler. I would be glad if someone could look over the mode 2 code, but I'm pretty confident in the rest, and I don't forsee mode 2 being used nearly as much as mode 3.
Edit: almost done with real armorzones
Apparently it's not relative to the unit at all. If you attack the shield side of the unit when it's facing right, it does normal damage, and if the unit turns around, and you attack the same side, now it does double damage.
Anyway, it will be relative to the unit now with this patch.
I'm still working out the armorzones, but here is the patch of everything I have finished so far. It enables negative damage to units, enables edgeeffectiveness greater than 1, and adds the following tags:
bonusShieldMode; //0=no bonus shield; 1=global coords, mobile; 2=unit coords, mobile (calculation heavy); 3=unit coords, locked;
bonusShieldDir; //units takes less damage when attacked from this dir (encourage flanking fire)
bonusShieldSavedAdd; //how much bonusShieldSaved builds up each frame
bonusShieldMaxDamage; //maximum factor to multiply damage by
bonusShieldMinDamage; //minimum factor to multiply damage by
And they can be GET/SET by cob.
#define BONUS_SHIELD_MODE 95 // set or get
#define BONUS_SHIELD_DIR 96 // set or get through get, for multiple args
#define BONUS_SHIELD_SAVED_ADD 97 // set or get
#define BONUS_SHIELD_MAX_DAMAGE 98 // set or get
#define BONUS_SHIELD_MIN_DAMAGE 99 // set or get
Older version:
http://pastebin.ca/609328
For now, it defaults to the old behavior, but this can easily be changed in weapondefhandler. I would be glad if someone could look over the mode 2 code, but I'm pretty confident in the rest, and I don't forsee mode 2 being used nearly as much as mode 3.
Edit: almost done with real armorzones
I did. There are also checks for no experience when the unit is at full health.Argh wrote:negative damage to units, enables edgeeffectiveness greater than 1
LOL, finally negative damage (i.e., healing)... only, what, about 10 months later? Cool! Just make sure it can't take Units over their max hitpoints.
What makes a unit able to target friendlies? I didn't think it was possible, but you can order a unit such as the Simbase Rocket Artillery to attack one of your units, and it will track it and the rockets even guide toward it.
Does it have comething to to with command-fire?
*currently working on KDR's suggestion and this: http://spring.clan-sy.com/phpbb/viewtopic.php?t=10362*
Would it be better to do the norm thing, or just pass the distance seperately? Either one is very simple. I think passing the distance would be better, as then the angle wouldn't lose resolution at low distances. But then should the factor be left at 500 or changed to 400 to be compatible? Would the extra args cause crashes in older units, or be ignored?
Last edited by lurker on 17 Jul 2007, 06:35, edited 1 time in total.
Yes its from before the current springs time. I tried to discuss it a bit early in Springs development but none seemed to care much so I just left it there. Mostly it was meant to make headlong rushing in a big clump less good and to make single super units a bad idea while still allowing higher level units to have competive armor/cost.
I'm off to college orientation for 2 days, but the patch is almost done. I'll submit it to mantis Friday. A list of features:
edgeeffectiveness>1
negative damage
bonusshield is very flexible, with tags and GET/SET
armorzones! woo!
armorzone GET/SET
HitByWeapon and HitByWeaponID use unit coords
HitByWeaponID passes distance
HitByWeaponID passes the armorzone that is hit
HitByWeaponID passes the theta and phi of the attackdir*
should HitByWeaponID also pass the global coords of the attack? what about the location of the attacker?
*I did some testing, and unused variables passed to cob functions didn't cause any problems, but I didn't test for a limit in number. If I'm wrong or there is a limit, please tell me.
edgeeffectiveness>1
negative damage
bonusshield is very flexible, with tags and GET/SET
armorzones! woo!
armorzone GET/SET
HitByWeapon and HitByWeaponID use unit coords
HitByWeaponID passes distance
HitByWeaponID passes the armorzone that is hit
HitByWeaponID passes the theta and phi of the attackdir*
should HitByWeaponID also pass the global coords of the attack? what about the location of the attacker?
*I did some testing, and unused variables passed to cob functions didn't cause any problems, but I didn't test for a limit in number. If I'm wrong or there is a limit, please tell me.
-
- Posts: 854
- Joined: 28 Jan 2005, 18:15
Well, it did do that, though we were unaware of the effects, and thus many people still used and use clumps of units. Rather cool, regardless.SJ wrote:Yes its from before the current springs time. I tried to discuss it a bit early in Springs development but none seemed to care much so I just left it there. Mostly it was meant to make headlong rushing in a big clump less good and to make single super units a bad idea while still allowing higher level units to have competive armor/cost.