client side particle beam fix

This is the development community to discuss tribes mod coding or to ask questions.

Moderator: Moderators

1 Sat Jan 03, 2015 9:22 pm

I'm sick of people saying that I'm cheating everytime I accidentally shoot them through a wall corner or hillside. I do mean an honest accident.

Is there any way to use the particle beam fix as a client side modification?
S_hift
Lt Commander
Lt Commander
 
Posts: 497

2 Mon Jan 05, 2015 11:19 pm

I'm assuming you mean this...
http://www.annihilation.info/forum/viewtopic.php?p=111720
Image


No.
They're not running it in BR?
User avatar
Plasmatic
Lead Developer
Lead Developer
 
Posts: 8375

3 Thu Jan 08, 2015 1:28 pm

ofc not :roll:

god forbid they actually made the mod a bit more challenging.

biggest excuse is "we tried it people didn't like it" and "it would make base rape too hard"

in other words; I tried it and I didn't like it. Made it too hard for me to kill deployables on broadside.

Not that anyone actually knows how to set defense anyway



edit: I probably get banned for saying this shit now. :cry:
S_hift
Lt Commander
Lt Commander
 
Posts: 497

4 Tue Jan 13, 2015 9:50 am

No shift i just look at you like a retard. I've explained many time why we don't run this, yet it never seems to sink in your head. :stab:
DaJ4ck3L
Crow{OZ}
 
Posts: 118

5 Tue Jan 13, 2015 9:54 am

anni is already known for heavy turtle mod. take away los sniping and turtle becomes stronger. yea there are other ways to kill d (chem/nade and nuke spam/pfork/other shit), but los pbeam sniping is the fastest and quickest way. the pbeam has used los sniping since turret killer was added to it. we tried the pbeam los patch one week, no one liked it, it was removed. this is just one of them them things that sucks, but it's out of our hands. the best patch would be to have the laser shoot through the terrain.


I wonder though, is it possible to spawn a laser at the los, shooting back towards the shooter?
DaJ4ck3L
Crow{OZ}
 
Posts: 118

6 Tue Jan 13, 2015 11:15 am

DaJ4ck3L wrote:No shift i just look at you like a retard. I've explained many time why we don't run this, yet it never seems to sink in your head. :stab:

Main point being with this. Shift only wants what shift wants. The community would riot if this happened. If it were up to you, this game would of been dead quite some time ago. You take into account 0% of what the community wants, or what is better for the majority of the players. This is the worst part about our community in the past. People don't take into account what the majority of the population wants, or how changes would really impact the game play / server population. I played a map just now, to where it would of been impossible to kill this one D spot on the map without LOS sniping.

Any massive change to the mods core functions, would be a huge impact on how the players would react to it. This mod version (Legendz) has been created over several years of 100s of players feed back. No offense plas, but this is probably one area that even you lacked in since my time coming into anni. Most of the edits you have done since then were based on your personal preference, or that of someone like DXSTRYR, who might I add hold no respect in our community. People always have opinions, but they never ask what the server thinks about these opinions. One reason our community still thrives, and is still widely active to this day, is because I do personally go through the server and ask each and every player before making any change that would effect game play. I get feedback from the community before doing anything that would drastically change things. I even brought up this topic again, the LOS sniping, and I can assure you it had no support, except for Shift.

All changes done to the mod were approved of by the community before being set in place. I have more experience at a higher skill level than any active (and probably unactive at this point, as this is my 10th year playing in this mod) player in annihilation. I think this experience that I have has also helped me over the years when deciding what changes needed to be done. Of course making sure I clear any changes with the majority of the community before setting them in place.

I see a lot of people (who are not really a part of the community) say, unbalanced this, and unbalanced that, but this mod version that we use has been worked on since the days we hosted it in the (S1) server, and has evolved since then over time. It has been used in many competition games, and has been discussed several times with some of the highest skilled players to ever grace this mod. It has been reworked several times to fit the needs of the casual pubber, as well as the competitive elite that plays in it.

One thing I would of loved to see more of in annihilation is more collaborations together to get things done. But because of reasons stated above this has never really happened.

Anyways, that's just crow's two cents on the subject. :cat:

-CrowOZ
DaJ4ck3L
Crow{OZ}
 
Posts: 118

7 Tue Jan 13, 2015 11:58 am

All that being said, I still love you plas, and have lots of respect for you since you helped make annihilation what it is today. You my number 1 hero!! :)

Also shout outs to perr (even though you leaked admin passwords when being given the mod) for helping me a shit load when I was noobie, and bawb (even though he spazzed out recently) for also being awesome over the years.
DaJ4ck3L
Crow{OZ}
 
Posts: 118

8 Fri Jan 16, 2015 8:39 am

I guess you didn't read the title.

"client side particle beam fix"


I would like to patch MYSELF from being able to exploit the LOS bug.





By the way, I highly doubt the community would "riot" even if you did fix the bug. Where are they gonna play LT? Yeah right lol

The most that would happen is people would just adapt to the changes and learn that if the beam don't hit, then it ain't legit. As much as an advantage this gives me, why would I want to be called a cheater for shooting someone through a solid object?


I think what the problem isn't about what I want. I think its more about what you want. Afterall if you didn't want it in the server in the first place, it wouldn't be there right?

Heres what I think; you want the mod to be as easy as possible, noobed down to the point where basically anyone can pick it up and just have fun right away. That way you can continue to establish influence and superiority among the Annihilation community.




I think my biggest problem with the server is the fact that how much is put in to reward noobish behavior. Like I'm actually noticing the retrogression of my own skill because I've had to dumb down my tactics to camping and shooting inanimate objects.

These are a list of changes, and obviously people would like them because it makes the mod so love easy.
- 5 Second spawn shield
- Removal of exploding bodies (so that armor kits can be easily picked up after killing an enemy with turret killer instead of standard fire)
- Increasing the damage of Vulcan and reducing the spread (which was already a very powerful weapon already)
- 1.31 rapid fire railgun without energy drain(obviously over powered)
- Troll armor replaced with Titan armor code to make Troll easier to rocket jump
- One armor kit repairs a station to full use


The fact of the matter is the only reason why people like the changes, is because this is the only populated Annihilation server on the list. I guarantee if you changed your server to "The Land of Oz" people would just go right back to that high ping reject server.

If you read the logs you would see how many people actually feel the same way I do about certain things pertaining to the mod. I'm just patiently waiting for the day you add weapons factory in the tab menu for that final nail in Annihilations dick shaped coffin.


So be honest with yourself before you start throwing insults at me. The community has NO love CLUE on what it actually wants or needs. It just needs a leader figure. At least you've done that right. Now all you need to do is whats best for the longevity of the mod, not what Crow likes.


ps. this doesn't mean we're not friends, it just means I think you're being selfish about the balance of the mod. This has nothing to do with me. Well a little bit, but I've explained that part.
S_hift
Lt Commander
Lt Commander
 
Posts: 497

9 Wed Jan 21, 2015 9:21 am

This thread took a strange turn.
User avatar
Plasmatic
Lead Developer
Lead Developer
 
Posts: 8375

10 Wed Jan 21, 2015 1:23 pm

Plasmatic wrote:This thread took a strange turn.

Sometimes I forget to take what shift says with a grain of salt.
DaJ4ck3L
Crow{OZ}
 
Posts: 118

11 Thu Jan 22, 2015 12:20 pm

I do wonder why you took out the code that prevents it. Not a huge problem, but a player can camp behind a hill and do damage without the beams showing up.
User avatar
Plasmatic
Lead Developer
Lead Developer
 
Posts: 8375

12 Mon Jan 26, 2015 10:59 pm

Anni is already known as a mod that has heavy D (which not all players like in the mod). Some D spots hidden deep in bases can only be killed with LOS pbeam. Removing it would make some D spots much harder to kill.

convo was picked up in more depth here.

http://www.br.thelandofoz.net/viewtopic.php?f=10&t=6377
DaJ4ck3L
Crow{OZ}
 
Posts: 118

13 Mon Jan 26, 2015 11:39 pm

How about masking players off then? Drop this in.
Same code, but keeps players from o sniping while hiding.

Code: Select all
function ParticleBeamWeapon::onCharge(%player)
{
   if(%player.reloading == "True")
      return;//plasmatic
   %clientId = GameBase::getOwnerClient(%player);
   if(Player::isTriggered(%player,0))
   {
      %player.pbeamcharging = true;
      if (%player.pbeamcharge < 100)
         %player.pbeamcharge++;
      else
          %player.pbeamcharge = 100;
       
      schedule("ParticleBeamWeapon::onCharge(" @ %player @ ");",0.05);
      GameBase::setEnergy(%player,GameBase::getEnergy(%player)-2.5);
      
      if (%player.pbeamcharge > 60 && GameBase::getLOSInfo(%player,3000))
      {
         %trans = GameBase::getMuzzleTransform(%player);   
         %d1= getWord(%trans,3);
         %d2= getWord(%trans,4);
         %d3= getWord(%trans,5);      //3,4,5 are dir vec -plas
         
         %posX = getWord(%trans,9);      //x
         %posY = getWord(%trans,10);      //y
         %posZ = getWord(%trans,11);       //z   
         %GunTipPos = %posX@" "@%posY@" "@%posZ;   
         
         
         if(!%clientId.locksound && !getlosinfo($los::position,%GunTipPos,1))
         {
            %obj = getObjectType($los::object);
         //echo(%obj);
            if(%obj == "Player" || %obj == "Flier")
            {
               schedule("GameBase::playSound("@%clientId@",SoundMineActivate, 0);",0.25);   //8/29/2009 11:38PM
               %clientId.locksound = true;
               schedule("ResetPbeamLock("@%ClientId@");",2);
            }
            else if(%obj != "SimTerrain" && %obj != "InteriorShape")
            {
               GameBase::playSound(%clientId,soundpackuse, 0);
               %ClientId.locksound = true;
               schedule("ResetPbeamLock("@%ClientId@");",2);
            }   
         }

         
         %gunVec = vector::normalize(vector::sub($los::position,%GunTipPos));            
         
         %vec = vector::sub($los::position,%gunVec);
         %trans =  getWord(%trans,0)@" "@getWord(%trans,1)@" "@getWord(%trans,2)@" "@%gunVec@" "@getWord(%trans,6)@" "@getWord(%trans,7)@" "@getWord(%trans,8)@" "@%vec;
         %proj = Projectile::spawnProjectile("MarkerLaser", %trans, 2048, %vel);               
      }
      bottomprint(%clientId, "<jc><f2>ParticleBeam charged to <f1>"@%player.pbeamcharge@"<f2>%", 0.5);
   }
   
   else //if(!Player::isTriggered(%player,0))   //fire this bad boy.
   {
      if(GameBase::getLOSInfo(%player,3000) && !Player::isdead(%player)) //plasmatic 3.0 Fixed sky fire bug.
      {
         // there must be something in our sight.
         // GetLOSInfo sets the following globals:
         //    los::position
         //    los::normal
         //    los::object
         
         //Fire through object fix 12/16/2009 2:09PM      
         %trans = GameBase::getMuzzleTransform(%player);         
         %posX = getWord(%trans,9);      //x
         %posY = getWord(%trans,10);      //y
         %posZ = getWord(%trans,11);       //z   
         %GunTipPos = %posX@" "@%posY@" "@%posZ;   
         
         %target = $los::object;   
         %obj = getObjectType(%target);
         if(%obj == "SimTerrain" || %obj == "InteriorShape")
         {
            // Mine fix 4/9/2009 9:07PM -Plasmatic
            // getlosinfo doesn't pick up mine types.
            %set = newObject("set",SimSet);
            if(containerBoxFillSet(%set,$MineObjectType,$los::position,0,0,0,0) >0 )    //OMG easter egg! Mines can still be destroyed while hiding behind things!!!11one
               GameBase::setDamageLevel(Group::getObject(%set, 0),(%player.pbeamcharge/8));
            
            deleteObject(%set);   
         }
         else
         {
            if (%obj=="Player" || %obj =="Flier")
               %value = %player.pbeamcharge/25;
            if(GameBase::getMapName(%target) == Bunker)
               %value = %player.pbeamcharge/25;   //6 shots fer bunker -plasmatic
            else 
               %value = %player.pbeamcharge/8;
         
   
                        
            if(!getlosinfo($los::position,%GunTipPos,1) || %obj != "Player")
               GameBase::applyDamage(%target, $SniperDamageType, %value, $los::position, "0 0 0","0 0 0", %clientId);
   //         if($debug)
               Client::sendMessage(%clientId,0,"target "@ %target @" object type "@%obj@" Damage value "@%value);
            
            
         }
         
         
         
      }   
      // animate the beams -Plasmatic 3.0
      %trans = GameBase::getMuzzleTransform(%player);
      %vel = Item::getVelocity(%player);
      playSound(SoundFireLaser, GameBase::getPosition(%player));
      Player::trigger(%player, 4, true);
      Player::trigger(%player, 6, true);
   
      %smack = %player.pbeamcharge / 10;
      if (%smack < 4)
         playSound(SoundMissileTurretFire, GameBase::getPosition(%player));
      if (%smack >= 4)
         playSound(SoundPlasmaTurretFire, GameBase::getPosition(%player));
      if (%smack >= 8)
         playSound(explo3, GameBase::getPosition(%player));
   
      if($debug)
         Client::sendMessage(%clientId,0,GameBase::getMapName(%target)@"target "@ %target @" object type "@%obj@" Damage value "@%value);

      %player.pbeamcharge = 0;
      %player.pbeamHoldcharge = 0;
      %player.pbeamcharging = false;
      Player::trigger(%player, 4, false);
      Player::trigger(%player, 6, false);

      %player.reloading = "True";//plasmatic
      schedule("reload(" @ %player @ ");",2.0); //PLASMATIC

   //new kickback- Plasmatic
      if(!Player::isDead(%player))
      {
         %rot=GameBase::getRotation(%player);
         %len = 30;
         %tr= getWord(%trans,5);
         %tr = -%tr;
         %tr = %tr+0.15;
         %up = %tr;
         %out = %tr -1;
         
         %vec = Vector::getFromRot(%rot,%len*%out*%smack,%len*%up*%smack);
         Player::applyImpulse(%player,%vec);
      }
   }
}
User avatar
Plasmatic
Lead Developer
Lead Developer
 
Posts: 8375


Return to Coder's Hangout

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron