Git Product home page Git Product logo

swrip-1.5's Introduction

This project is now hosted elsewhere.

swrip-1.5's People

Contributors

kaibraaten avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

swrip-1.5's Issues

Vanquish WriteAreaList()

This function is really an implementation detail of LegacyAreaRepository, yet it resides in src/build.cpp because some other functions depend on it. Break that dependency!

Integrate Imp into triggers

  • MobProgActTrigger
  • MobProgBribeTrigger
  • MobProgEntryTrigger
  • MobProgGiveTrigger
  • MobProgGreetTrigger
  • MobProgFightTrigger
  • MobProgHitPercentTrigger
  • MobProgDeathTrigger
  • MobProgRandomTrigger
  • MobProgSpeechTrigger
  • MobProgScriptTrigger
  • MobProgHourTrigger
  • MobProgTimeTrigger
  • ObjProgSpeechTrigger
  • ObjProgRandomTrigger
  • ObjProgWearTrigger
  • ObjProgUseTrigger
  • ObjProgRemoveTrigger
  • ObjProgExamineTrigger
  • ObjProgSacTrigger
  • ObjProgDamageTrigger
  • ObjProgRepairTrigger
  • ObjProgDropTrigger
  • ObjProgZapTrigger
  • ObjProgGreetTrigger
  • ObjProgGetTrigger
  • ObjProgPullTrigger
  • ObjProgPushTrigger
  • ObjProgActTrigger
  • RoomProgLeaveTrigger
  • RoomProgEnterTrigger
  • RoomProgSleepTrigger
  • RoomProgRestTrigger
  • RoomProgFightTrigger
  • RoomProgDeathTrigger
  • RoomProgSpeechTrigger
  • RoomProgRandomTrigger
  • RoomProgTimeTrigger
  • RoomProgHourTrigger
  • RoomProgActTrigger

do_fuel doesn't work correctly

Upon refactoring do_fuel it became appearant that it doesn't work correctly.

The syntax is: fuel <amount> <ship>

Trouble is, the fuel target (fuelTarget variable) is ONLY set if the target ship is NOT specified by the user. The code only searched for docked ships, but does not use the parameter at all.

This is almost certainly not the way it's supposed to work.

do_practice() has weird output

Do practice doesn't work correctly. Specifically, some skill/force power names are truncated, newlines don't show up where they're supposed to, skill names bleed into eachother.

Currently I only see this on force powers, and only for imms. But that may be coincidental. It happens at the exact same spot in the list every time, which hopefully makes it easier to figure it out.

Implement LuaLoadMobiles()

LuaLoadMobiles() is used by the player repository to load pets from pfile. Save saving is implemented, but not the loading.

Work tags into repositories

The following repositories still need to use tags when possible:

  • PlayerRepository
  • ShipRepository
  • ShuttleRepository
  • SpaceobjectRepository

Problem with player home resident feature

When you add someone as resident to your home, the room contents is saved twice. There will be a playername.home file for both even though it's the same room. This is a problem because the contents of the two files won't be in sync.

  1. Player 1 (P1) buys a home. He drops a blaster to the floor. The player1.home file is written to disk.
  2. Player 2 (P2) is made resident.
  3. P1 quits.
  4. P2 drops a helmet to the floor. player2.home is written to disk. Note that at this point player2.home contains both a blaster and a helmet, while player1.home contains just the blaster.
  5. P1 logs back on. The home is purged of objects, and is then filled with objects from player1.home.

What's the problem? After step 5 above, the helmet is gone.

A suggested solution is to change the filename from playername.home to room_vnum.home so that both owner and resident(s) save to the same file.

Scripts only partially executed

In the newbie academy, scripts seem only partially executed.

Example 1: The sad student just repeats the line "My brother is dead".

Example 2: The academy student taking a break from his studies reacts to hi/hello by answering 'Hello', but does not produce the figure. Also, it responds to 'yes' saying 'Ok you can have it then.', but then nothing else happens.

do_loadup doesn't load character

The function merely allocates a chunk of memory for a Descriptor, and then starts using its Character pointer even though it's just nullptr! The character is never actually loaded. And no Character structure is allocated either. Very fishy!

Fix cloning

Fix cloning in RawKill() and SaveClone().

do_loadarea depends on LoadAreaFile()

LoadAreaFile() is an implementation detail of LegacyAreaRepository, and as such do_loadarea should not have access to it. Find a workaround to this. do_loadarea has been disabled for now.

Reckless use of std::stoi()

Without giving it much thought I replaced uses of atoi() and strtol() with std::stoi(). What I didn't consider is that they behave differently in the face of invalid arguments. The old C functions will return zero, but std::stoi() throws std::invalid_argument exception. Problem is that the code doesn't always check the arguments, only the result. Therefor we now get lots of exceptions.

So I need to go through every use of std::stoi() and either change back to atoi/strtol, or use try/catch blocks.

Get rid of void pointers

Void pointers is a relic from the past that causes some headaches. For instance, they make using smart pointers harder. And of course there's no such thing as type safety.

Fix at least the following places:

  • mud progs
  • Act() function
  • Crafting code

Mob in limbo room 4

There's a player vendor in room 4, which means something's wrong. Check it out.

slist bugged

When using slist without arguments, it's supposed to show all skills for every ability class. But at current it only shows "general" (that is, skills with ability set to "none", which includes languages).

Can't leave last room in newbie school

1. The schoolmaster gives you an infinite number of diplomas
2. Saying 'iamauthed' does nothing

Unclear if and how the two are related. Clearly they're not.

do_unfoldarea depends on LoadAreaFile()

LoadAreaFile() is an implementation detail of LegacyAreaRepository, and as such do_unfoldarea should not have access to it. Find a workaround to this. do_unfoldarea has been disabled for now.

This is related to #30.

Create missing boards

  • Student board in newbie academy (room 10430).
  • Galactic net message terminal (room 209)
  • Mail terminal (room 211)

do_hyperspace looks suspect

The code that handles docked "slave" ships looks odd at first glance. Shouldn't the slaves' coordinates be updated along with the "dockee" when leaving hyperspace?

Investigate this.

Mob can't give toy

The mob in newbie school that's supposed to give the Luke Skywalker action figure fails to give the toy. It just drops it instead.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.