Ch47 is damaging ch47, how to stop that?Solved

I run a server where the ch47 does not damage any bases, but does kill players (and horses sometimes)
but I also have several helis out at once, and they rocket like crazy. the problem is they get stacked and end up rocketing each other due to the flight paths  of others being in the way. So you end up with like 10 helis, and after hiding, they basically destroy each other until 1 is left (which is very beat up too).  I have the flag set, but also rules that I think are being ignored due to the flag being set, and the flag not applying the ch47 damaging the ch47.
"RuleSets": [
{
"name": "default",
"enabled": true,
"defaultAllowDamage": false,
"flags": "HumanNPCDamage, LockedBoxesImmortal, LockedDoorsImmortal, NoHeliDamage, PlayerSamSitesIgnorePlayers, TrapsIgnorePlayers, TurretsIgnorePlayers, FriendlyFire",
"rules": [
"anything can hurt dispensers",
"anything can hurt resources",
"anything can hurt barricades",
"anything can hurt traps",
"anything can hurt heli",
"anything can hurt npcs",
"anything can hurt players",
"nothing can hurt ch47",
"nothing can hurt cars",
"nothing can hurt mini",
"nothing can hurt snowmobiles",
"cars cannot hurt anything",
"mini cannot hurt anything",
"ch47 cannot hurt anything",
"ch47 cannot hurt ch47",
"scrapheli cannot hurt anything",
"players cannot hurt players",
"players cannot hurt traps",
"guards cannot hurt players",
"fire cannot hurt players",
"traps cannot hurt players",
"highwalls can hurt players",
"barricades can hurt players",
"mini cannot hurt mini",
"npcs can hurt players",
"junkyard can hurt cars"
]
},

you can see i have the ch47 listed  with ""nothing can hurt ch47" (and others about it)," which would make the players not able to kill it, but they can, so i know since the flag is there, its ignoring any rules about the heli.

So is there a method i can put in here, to keep the ch47 from killing other ch47? with the "NoHeliDamage" flag, no rules get processed, but if i remove that, then player entities can be damaged by it.

hi, I can't tell you without seeing your full config

your heli flag is for the patrol heli so it is not going to block damage unless your ch47 is using the same exact rockets that the patrol heli uses (rocket_heli). in which case, yes, the flag will always override your rules

ah crap, i was mixing ch47 up with the blackhawk.  oof.
my chinooks dont shoot rockets, though, that would be cool.

here is the full config

{
  "Config Version": "2.1.6",
  "Default RuleSet": "default",
  "Configuration Options": {
    "handleDamage": true,
    "useZones": true,
    "Trace To Player Console": true,
    "Trace To Server Console": true,
    "Maximum Distance From Player To Trace": 3.0,
    "Prevent Water From Extinguishing BaseOven": false,
    "Prevent Players From Being Marked Hostile": false
  },
  "Mappings": {
    "default": "default",
    "zonenumber": "pvp"
  },
  "Schedule": {
    "enabled": false,
    "useRealtime": false,
    "broadcast": false,
    "entries": []
  },
  "RuleSets": [
    {
      "name": "default",
      "enabled": true,
      "defaultAllowDamage": false,
      "flags": "HumanNPCDamage, LockedBoxesImmortal, LockedDoorsImmortal, NoHeliDamage, PlayerSamSitesIgnorePlayers, TrapsIgnorePlayers, TurretsIgnorePlayers, FriendlyFire",
      "rules": [
        "anything can hurt dispensers",
        "anything can hurt resources",
        "anything can hurt barricades",
        "anything can hurt traps",
        "anything can hurt heli",
        "anything can hurt npcs",
        "anything can hurt players",
        "nothing can hurt ch47",
        "nothing can hurt cars",
        "nothing can hurt mini",
        "nothing can hurt snowmobiles",
        "cars cannot hurt anything",
        "mini cannot hurt anything",
        "ch47 cannot hurt anything",
        "ch47 cannot hurt ch47",
        "scrapheli cannot hurt anything",
        "players cannot hurt players",
        "players cannot hurt traps",
        "guards cannot hurt players",
        "fire cannot hurt players",
        "traps cannot hurt players",
        "highwalls can hurt players",
        "barricades can hurt players",
        "mini cannot hurt mini",
        "npcs can hurt players",
        "junkyard can hurt cars"
      ]
    },
    {
      "name": "pvp",
      "enabled": true,
      "defaultAllowDamage": false,
      "flags": "HumanNPCDamage, LockedBoxesImmortal, LockedDoorsImmortal",
      "rules": [
        "players can hurt players"
      ]
    }
  ],
  "Entity Groups": [
    {
      "name": "barricades",
      "members": "Barricade, icewall, GraveYardFence",
      "exclusions": "barricade.concrete, barricade.sandbags, barricade.metal, barricade.stone, barricade.wood, barricade.woodwire"
    },
    {
      "name": "dispensers",
      "members": "BaseCorpse, HelicopterDebris, PlayerCorpse, NPCPlayerCorpse, HorseCorpse, SkyLantern",
      "exclusions": ""
    },
    {
      "name": "fire",
      "members": "FireBall, FlameExplosive, FlameThrower, BaseOven, FlameTurret, rocket_heli_napalm, napalm, oilfireball2",
      "exclusions": ""
    },
    {
      "name": "guards",
      "members": "bandit_guard, scientistpeacekeeper, sentry.scientist.static",
      "exclusions": ""
    },
    {
      "name": "heli",
      "members": "BaseHelicopter",
      "exclusions": ""
    },
    {
      "name": "highwalls",
      "members": "SimpleBuildingBlock, wall.external.high.ice, gates.external.high.stone, gates.external.high.wood",
      "exclusions": ""
    },
    {
      "name": "ridablehorses",
      "members": "RidableHorse",
      "exclusions": ""
    },
    {
      "name": "cars",
      "members": "BasicCar, ModularCar, BaseModularVehicle, BaseVehicleModule, VehicleModuleEngine, VehicleModuleSeating, VehicleModuleStorage, VehicleModuleTaxi, ModularCarSeat",
      "exclusions": ""
    },
    {
      "name": "mini",
      "members": "minicopter.entity",
      "exclusions": ""
    },
    {
      "name": "scrapheli",
      "members": "ScrapTransportHelicopter",
      "exclusions": ""
    },
    {
      "name": "ch47",
      "members": "ch47.entity",
      "exclusions": ""
    },
    {
      "name": "npcs",
      "members": "ch47scientists.entity, BradleyAPC, CustomScientistNPC, CustomScientistNpc, ScarecrowNPC, HumanNPC, NPCPlayer, ScientistNPC, TunnelDweller, SimpleShark, UnderwaterDweller, Zombie, ZombieNPC",
      "exclusions": ""
    },
    {
      "name": "players",
      "members": "BasePlayer, FrankensteinPet",
      "exclusions": ""
    },
    {
      "name": "resources",
      "members": "ResourceEntity, TreeEntity, OreResourceEntity, LootContainer",
      "exclusions": "hobobarrel.deployed"
    },
    {
      "name": "snowmobiles",
      "members": "snowmobile, tomahasnowmobile",
      "exclusions": ""
    },
    {
      "name": "traps",
      "members": "AutoTurret, BearTrap, FlameTurret, Landmine, GunTrap, ReactiveTarget, TeslaCoil, spikes.floor",
      "exclusions": ""
    },
    {
      "name": "junkyard",
      "members": "magnetcrane.entity, carshredder.entity",
      "exclusions": ""
    }
  ],
  "Allow Killing Sleepers": false,
  "Allow Killing Sleepers (Ally Only)": false,
  "Allow Killing Sleepers (Authorization Only)": false,
  "Ignore Firework Damage": true,
  "Ignore Campfire Damage": false,
  "Ignore Ladder Damage": false,
  "Ignore Sleeping Bag Damage": false,
  "Block Scrap Heli Damage": true,
  "Block Igniter Damage": false
}​

hi, my ch47 is not taking any damage with your config with world collisions or when colliding into another ch47

my bad, i meant the patrol heli, not the ch47. its why i closed the topic. i still have not figured out how to stop it yet though.
i turned on debug and got this
From: PatrolHelicopter, patrolhelicopter
To: PatrolHelicopter, patrolhelicopter
Checking exclusions between [empty] and [empty]
Shared locations: none
No shared locations, or no matching exclusion mapping - no exclusions
No exclusion found - looking up RuleSet...
Using RuleSet "default"

then made this
{
"name": "heli",
"members": "BaseHelicopter, PatrolHelicopter",
"exclusions": ""
},
{
"name": "patrolheli_rockets",
"members": "rocket_heli",
"exclusions": ""
},

and added these rules

"RuleSets": [
{
"name": "default",
"enabled": true,
"defaultAllowDamage": false,
"flags": "HumanNPCDamage, LockedBoxesImmortal, LockedDoorsImmortal, NoHeliDamage, PlayerSamSitesIgnorePlayers, TrapsIgnorePlayers, TurretsIgnorePlayers, FriendlyFire, NoHeliDamageRidableHorses",
"rules": [
"anything can hurt dispensers",
"anything can hurt resources",
"anything can hurt barricades",
"anything can hurt traps",
"patrolheli_rockets cannot hurt heli",
"heli cannot hurt heli",
"anything can hurt heli",
"anything can hurt npcs",
"anything can hurt players",
"anything can hurt ch47",
"heliturrets cannot hurt players",
"nothing can hurt cars",
"nothing can hurt mini",
"nothing can hurt snowmobiles",
"cars cannot hurt anything",
"mini cannot hurt anything",
"ch47 cannot hurt anything",
"scrapheli cannot hurt anything",
"players cannot hurt players",
"guards cannot hurt players",
"fire cannot hurt players",
"traps cannot hurt players",
"players can hurt traps",
"highwalls can hurt players",
"barricades can hurt players",
"mini cannot hurt mini",
"npcs can hurt players",
"junkyard can hurt cars"
]

reloaded plugin, and tested again, (basically spawning about 10 patrol helis to attack me.)
still get the same debug,
From: PatrolHelicopter, patrolhelicopter
To: PatrolHelicopter, patrolhelicopter
Checking exclusions between [empty] and [empty]
Shared locations: none
No shared locations, or no matching exclusion mapping - no exclusions
No exclusion found - looking up RuleSet...
Using RuleSet "default"

and eventually heli's crashing around me without me shooting them
seems like I just dont know how to define the patrol heli hurting another patrol heli properly. I would have changed the topics description but the forum does not allow that so i set it to solved instead, since it was kind of written about the wrong entity in the first place

your config says 2.1.6 when the latest version is 2.1.9

update and run the trace again

with 2.1.9

======================
== STARTING TRACE ==
== 17:54:29.91684 ==
======================
From: PatrolHelicopter, patrolhelicopter
To: PatrolHelicopter, patrolhelicopter
Checking exclusions between [empty] and [empty]
Shared locations: none
No shared locations, or no matching exclusion mapping - no exclusions
No exclusion found - looking up RuleSet...
Using RuleSet "default"
Target is PatrolHelicopter; Initiator is PatrolHelicopter; allow and return

ok, the rules are not supported because damage is always allowed when the target is a patrol heli. rules are used only when the initiator is a player, as shown below.

edit the .cs and change the below code and it will evaluate your rules

if (weapon is BasePlayer)​


to

if (weapon is BasePlayer || weapon is PatrolHelicopter)​

Edited, looks better thanks nivex

======================
== STARTING TRACE ==
== 15:58:47.29606 ==
======================
From: PatrolHelicopter, patrolhelicopter
To: PatrolHelicopter, patrolhelicopter
Checking exclusions between [empty] and [empty]
Shared locations: none
No shared locations, or no matching exclusion mapping - no exclusions
No exclusion found - looking up RuleSet...
Using RuleSet "default"
Initiator EntityGroup matches: heli
Target EntityGroup matches: heli
Evaluating Rules...
Checking direct initiator->target rules...
Evaluating "heli->heli"...
Match found; allow damage? False
Target is PatrolHelicopter; Initiator is player; block and return

Locked automatically